/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Random;
import java.util.*;

/**
 * ALGORITMOS Y ESTRUCTURA DE DATOS
 *HOJA DE TRABAJO 3
 * SECCION 10
 * 
 * ROGER DIAZ
 * YUCELY BEB
 * RODIMIRO CATAÑEDA
 * VICTOR FUETNES 12298
 */
public class NewMain {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        // \ <>
    String nombreArch="datos.txt";
    FileWriter escritor=null;
   
    int aleatorio;
    try {
        escritor=new FileWriter(nombreArch);
        BufferedWriter bw=new BufferedWriter(escritor);
        PrintWriter salArch=new PrintWriter(bw);
        int i=200;
        while(i>0){
            
            salArch.println(aleatorio=(int)(Math.random()*100));//genara [0,10)
            //salArch.println(aleatorio=(int)(Math.random()*2-10));
            //generar negativos
            salArch.println(aleatorio=(int)(Math.random()*200-100));//generar (-5,0)
            i--;
        }

        
        salArch.close();
        bw.close();
        
    }catch(Exception  e){
        System.out.println("error");
    }
    
    //lectura del archivo datos.txt 
    String linea="";
    ArrayList nlinea=new ArrayList();
    
    
    Scanner archivo;
    
    try{
        archivo=new Scanner (new File("datos.txt"));
        while(archivo.hasNext()){
            linea=archivo.nextLine();
            nlinea.add(linea);//objeto nlinea de tipo arraylista tiene 
                               //todos los caracteres del archivo
            
        }
        System.out.println(nlinea);//se imprimien los datos tamados del archivo
    }catch(Exception e){
        System.out.println("No se encontro el archivo");
    }
    
   
        System.out.println("Impresion de lista ordenada por primera vez, lista ingreso desordenada");
        BubbleSort algo=new BubbleSort(nlinea);
        algo.bubbleSort(algo.getLista(), algo.lista.length);
        algo.bubbleSort1(algo.getLista(), algo.lista.length);
        algo.imprimirListOrdenado();
        
    }
}